#pragma once

class GameScene;
class RectStatic;
class RectSelectScale;
class InputStateBase;
class InputGage;

class GameInputWnd
{
public:
	enum{
		STATE_WAITING,
		STATE_GREETING,
		STATE_SELECTPRODUCT,
		STATE_SENDINGCHANGE,
		STATE_FAREWELL,

		STATE_MAX,
	};
public:
	GameInputWnd();
	~GameInputWnd();

public:
	void			Init(int nStageIndex, GameScene* pGameScene);
	void			Release();
	void			Update();

	void			OnMouseMove(int nPosX, int nPosY);
	void			OnMouseLDown(int nPosX, int nPosY);
	void			OnMouseLUp(int nPosX, int nPosY);

	void			SetNextState( int state );
	int				GetCurState() { return m_nCurState; }

private:
	RECT				m_rcSize;

	GameScene*			m_pGameScene;
	int					m_nCurState;
	InputStateBase*		m_pState[STATE_MAX];
	RectStatic*			m_pRectBackGround;	
	InputGage*			m_pInputGage;
};